<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::on_nurbs::SequentialFitter类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1on__nurbs_1_1_sequential_fitter.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">类</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-static-methods">静态 Public 成员函数</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="classpcl_1_1on__nurbs_1_1_sequential_fitter-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::on_nurbs::SequentialFitter类 参考</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
类</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcl_1_1on__nurbs_1_1_sequential_fitter_1_1_parameter.html">Parameter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a75e7befe422905d31d000b6c8967e7f6"><td class="memItemLeft" align="right" valign="top"><a id="a75e7befe422905d31d000b6c8967e7f6"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>SequentialFitter</b> (<a class="el" href="structpcl_1_1on__nurbs_1_1_sequential_fitter_1_1_parameter.html">Parameter</a> p=<a class="el" href="structpcl_1_1on__nurbs_1_1_sequential_fitter_1_1_parameter.html">Parameter</a>())</td></tr>
<tr class="separator:a75e7befe422905d31d000b6c8967e7f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a297035382332e2891aeb49ea6dfed052"><td class="memItemLeft" align="right" valign="top"><a id="a297035382332e2891aeb49ea6dfed052"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setParams</b> (const <a class="el" href="structpcl_1_1on__nurbs_1_1_sequential_fitter_1_1_parameter.html">Parameter</a> &amp;p)</td></tr>
<tr class="separator:a297035382332e2891aeb49ea6dfed052"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d0e61afa14bd57b2819e369a8bc48bb"><td class="memItemLeft" align="right" valign="top"><a id="a4d0e61afa14bd57b2819e369a8bc48bb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a4d0e61afa14bd57b2819e369a8bc48bb">setInputCloud</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b.html">pcl::PointXYZRGB</a> &gt;::Ptr &amp;pcl_cloud)</td></tr>
<tr class="memdesc:a4d0e61afa14bd57b2819e369a8bc48bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set input point cloud <br /></td></tr>
<tr class="separator:a4d0e61afa14bd57b2819e369a8bc48bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a477e60df037fbb8f31f3cea461252a8f"><td class="memItemLeft" align="right" valign="top"><a id="a477e60df037fbb8f31f3cea461252a8f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a477e60df037fbb8f31f3cea461252a8f">setBoundary</a> (pcl::PointIndices::Ptr &amp;pcl_cloud_indices)</td></tr>
<tr class="memdesc:a477e60df037fbb8f31f3cea461252a8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set boundary points of input point cloud <br /></td></tr>
<tr class="separator:a477e60df037fbb8f31f3cea461252a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9f57a324f8c020e08359cbab99cb918"><td class="memItemLeft" align="right" valign="top"><a id="ab9f57a324f8c020e08359cbab99cb918"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#ab9f57a324f8c020e08359cbab99cb918">setInterior</a> (pcl::PointIndices::Ptr &amp;pcl_cloud_indices)</td></tr>
<tr class="memdesc:ab9f57a324f8c020e08359cbab99cb918"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set interior points of input point cloud <br /></td></tr>
<tr class="separator:ab9f57a324f8c020e08359cbab99cb918"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa131da8b0de19fb17ebbe15777f2b9e6"><td class="memItemLeft" align="right" valign="top"><a id="aa131da8b0de19fb17ebbe15777f2b9e6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#aa131da8b0de19fb17ebbe15777f2b9e6">setCorners</a> (pcl::PointIndices::Ptr &amp;corners, bool flip_on_demand=true)</td></tr>
<tr class="memdesc:aa131da8b0de19fb17ebbe15777f2b9e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set corner points of input point cloud <br /></td></tr>
<tr class="separator:aa131da8b0de19fb17ebbe15777f2b9e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e85e7d3c4e5cddc8621f54d6e3a7733"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a6e85e7d3c4e5cddc8621f54d6e3a7733">setProjectionMatrix</a> (const Eigen::Matrix4d &amp;intrinsic, const Eigen::Matrix4d &amp;extrinsic)</td></tr>
<tr class="memdesc:a6e85e7d3c4e5cddc8621f54d6e3a7733"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set camera- and world matrices, for projection and back-face detection  <a href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a6e85e7d3c4e5cddc8621f54d6e3a7733">更多...</a><br /></td></tr>
<tr class="separator:a6e85e7d3c4e5cddc8621f54d6e3a7733"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af617e2732c6d562cf556e453961761a5"><td class="memItemLeft" align="right" valign="top"><a id="af617e2732c6d562cf556e453961761a5"></a>
<a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#af617e2732c6d562cf556e453961761a5">compute</a> (bool assemble=false)</td></tr>
<tr class="memdesc:af617e2732c6d562cf556e453961761a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute point cloud and fit (multiple) models <br /></td></tr>
<tr class="separator:af617e2732c6d562cf556e453961761a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f3ec51e0900234be9cf99fccaf2127a"><td class="memItemLeft" align="right" valign="top"><a id="a1f3ec51e0900234be9cf99fccaf2127a"></a>
<a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a1f3ec51e0900234be9cf99fccaf2127a">compute_boundary</a> (const <a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a> &amp;nurbs)</td></tr>
<tr class="memdesc:a1f3ec51e0900234be9cf99fccaf2127a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute boundary points and fit (multiple) models (without interior points - minimal curvature surface) <br /></td></tr>
<tr class="separator:a1f3ec51e0900234be9cf99fccaf2127a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89844824d4844d538599acc5c7cd96ac"><td class="memItemLeft" align="right" valign="top"><a id="a89844824d4844d538599acc5c7cd96ac"></a>
<a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a89844824d4844d538599acc5c7cd96ac">compute_interior</a> (const <a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a> &amp;nurbs)</td></tr>
<tr class="memdesc:a89844824d4844d538599acc5c7cd96ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute interior points and fit (multiple) models (without boundary points) <br /></td></tr>
<tr class="separator:a89844824d4844d538599acc5c7cd96ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cf7a42d18a747d218099098b7cfb230"><td class="memItemLeft" align="right" valign="top"><a id="a9cf7a42d18a747d218099098b7cfb230"></a>
<a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a9cf7a42d18a747d218099098b7cfb230">getNurbs</a> ()</td></tr>
<tr class="memdesc:a9cf7a42d18a747d218099098b7cfb230"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get resulting NURBS surface. <br /></td></tr>
<tr class="separator:a9cf7a42d18a747d218099098b7cfb230"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0779fa03defac6fc9d660f7748858b7c"><td class="memItemLeft" align="right" valign="top"><a id="a0779fa03defac6fc9d660f7748858b7c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a0779fa03defac6fc9d660f7748858b7c">getInteriorError</a> (std::vector&lt; double &gt; &amp;error)</td></tr>
<tr class="memdesc:a0779fa03defac6fc9d660f7748858b7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get error of each interior point (L2-norm of point to closest point on surface) and square-error <br /></td></tr>
<tr class="separator:a0779fa03defac6fc9d660f7748858b7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa286d6267771b6c9fa79704eb657a238"><td class="memItemLeft" align="right" valign="top"><a id="aa286d6267771b6c9fa79704eb657a238"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#aa286d6267771b6c9fa79704eb657a238">getBoundaryError</a> (std::vector&lt; double &gt; &amp;error)</td></tr>
<tr class="memdesc:aa286d6267771b6c9fa79704eb657a238"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get error of each boundary point (L2-norm of point to closest point on surface) and square-error <br /></td></tr>
<tr class="separator:aa286d6267771b6c9fa79704eb657a238"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a506d54a07aecaa53b6679fb67972717c"><td class="memItemLeft" align="right" valign="top"><a id="a506d54a07aecaa53b6679fb67972717c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a506d54a07aecaa53b6679fb67972717c">getInteriorParams</a> (std::vector&lt; Eigen::Vector2d, Eigen::aligned_allocator&lt; Eigen::Vector2d &gt; &gt; &amp;params)</td></tr>
<tr class="memdesc:a506d54a07aecaa53b6679fb67972717c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get parameter of each interior point <br /></td></tr>
<tr class="separator:a506d54a07aecaa53b6679fb67972717c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4b14e98fdd968d5330bb901d9cb1d6b"><td class="memItemLeft" align="right" valign="top"><a id="ac4b14e98fdd968d5330bb901d9cb1d6b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#ac4b14e98fdd968d5330bb901d9cb1d6b">getBoundaryParams</a> (std::vector&lt; Eigen::Vector2d, Eigen::aligned_allocator&lt; Eigen::Vector2d &gt; &gt; &amp;params)</td></tr>
<tr class="memdesc:ac4b14e98fdd968d5330bb901d9cb1d6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get parameter of each boundary point <br /></td></tr>
<tr class="separator:ac4b14e98fdd968d5330bb901d9cb1d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad87aabf24e96318f8f9f96e98c06c1ff"><td class="memItemLeft" align="right" valign="top"><a id="ad87aabf24e96318f8f9f96e98c06c1ff"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#ad87aabf24e96318f8f9f96e98c06c1ff">getInteriorNormals</a> (std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;normal)</td></tr>
<tr class="memdesc:ad87aabf24e96318f8f9f96e98c06c1ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the normals to the interior points given by <a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#ab9f57a324f8c020e08359cbab99cb918" title="Set interior points of input point cloud">setInterior()</a> <br /></td></tr>
<tr class="separator:ad87aabf24e96318f8f9f96e98c06c1ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a238d48ac97ce147fc39465dc3284ef60"><td class="memItemLeft" align="right" valign="top"><a id="a238d48ac97ce147fc39465dc3284ef60"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a238d48ac97ce147fc39465dc3284ef60">getBoundaryNormals</a> (std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;normals)</td></tr>
<tr class="memdesc:a238d48ac97ce147fc39465dc3284ef60"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the normals to the boundary points given by <a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a477e60df037fbb8f31f3cea461252a8f" title="Set boundary points of input point cloud">setBoundary()</a> <br /></td></tr>
<tr class="separator:a238d48ac97ce147fc39465dc3284ef60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aba7d64bb743d5ac1c9124cce592b09"><td class="memItemLeft" align="right" valign="top"><a id="a6aba7d64bb743d5ac1c9124cce592b09"></a>
<a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a6aba7d64bb743d5ac1c9124cce592b09">grow</a> (float max_dist=1.0f, float max_angle=M_PI_4, unsigned min_length=0, unsigned max_length=10)</td></tr>
<tr class="memdesc:a6aba7d64bb743d5ac1c9124cce592b09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Growing algorithm (TODO: under construction) <br /></td></tr>
<tr class="separator:a6aba7d64bb743d5ac1c9124cce592b09"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
静态 Public 成员函数</h2></td></tr>
<tr class="memitem:a822b8645e35c35d7825674b3abf21e62"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a822b8645e35c35d7825674b3abf21e62">getClosestPointOnNurbs</a> (<a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a> nurbs, const Eigen::Vector3d &amp;pt, Eigen::Vector2d &amp;params, int maxSteps=100, double accuracy=1e-4)</td></tr>
<tr class="memdesc:a822b8645e35c35d7825674b3abf21e62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the closest point on a NURBS from a point pt in parameter space  <a href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#a822b8645e35c35d7825674b3abf21e62">更多...</a><br /></td></tr>
<tr class="separator:a822b8645e35c35d7825674b3abf21e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac94889961fd5050acb3a73561250319a"><td class="memItemLeft" align="right" valign="top"><a id="ac94889961fd5050acb3a73561250319a"></a>
static unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html#ac94889961fd5050acb3a73561250319a">PCL2ON</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b.html">pcl::PointXYZRGB</a> &gt;::Ptr &amp;pcl_cloud, const std::vector&lt; int &gt; &amp;indices, vector_vec3d &amp;cloud)</td></tr>
<tr class="memdesc:ac94889961fd5050acb3a73561250319a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert point-cloud <br /></td></tr>
<tr class="separator:ac94889961fd5050acb3a73561250319a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:ab344141556d470b6e3eef28fbb017a1e"><td class="memItemLeft" align="right" valign="top"><a id="ab344141556d470b6e3eef28fbb017a1e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>compute_quadfit</b> ()</td></tr>
<tr class="separator:ab344141556d470b6e3eef28fbb017a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad005d238a7d1534b3c4e1073a1f40b3"><td class="memItemLeft" align="right" valign="top"><a id="aad005d238a7d1534b3c4e1073a1f40b3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>compute_refinement</b> (<a class="el" href="classpcl_1_1on__nurbs_1_1_fitting_surface.html">FittingSurface</a> *fitting)</td></tr>
<tr class="separator:aad005d238a7d1534b3c4e1073a1f40b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f04ea14caa86ded48e6dd84dcaa69ab"><td class="memItemLeft" align="right" valign="top"><a id="a9f04ea14caa86ded48e6dd84dcaa69ab"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>compute_boundary</b> (<a class="el" href="classpcl_1_1on__nurbs_1_1_fitting_surface.html">FittingSurface</a> *fitting)</td></tr>
<tr class="separator:a9f04ea14caa86ded48e6dd84dcaa69ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c80be3683632210b2e30bdca21ed56d"><td class="memItemLeft" align="right" valign="top"><a id="a5c80be3683632210b2e30bdca21ed56d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>compute_interior</b> (<a class="el" href="classpcl_1_1on__nurbs_1_1_fitting_surface.html">FittingSurface</a> *fitting)</td></tr>
<tr class="separator:a5c80be3683632210b2e30bdca21ed56d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a549861448413b35ce8c58b2da507fae4"><td class="memItemLeft" align="right" valign="top"><a id="a549861448413b35ce8c58b2da507fae4"></a>
Eigen::Vector2d&#160;</td><td class="memItemRight" valign="bottom"><b>project</b> (const Eigen::Vector3d &amp;pt)</td></tr>
<tr class="separator:a549861448413b35ce8c58b2da507fae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9c4c7c3db108236e9f01a161c95bdcd"><td class="memItemLeft" align="right" valign="top"><a id="ae9c4c7c3db108236e9f01a161c95bdcd"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_back_facing</b> (const Eigen::Vector3d &amp;v0, const Eigen::Vector3d &amp;v1, const Eigen::Vector3d &amp;v2, const Eigen::Vector3d &amp;v3)</td></tr>
<tr class="separator:ae9c4c7c3db108236e9f01a161c95bdcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:a4940c220f5a42f57dbf85e46042fac67"><td class="memItemLeft" align="right" valign="top"><a id="a4940c220f5a42f57dbf85e46042fac67"></a>
<a class="el" href="structpcl_1_1on__nurbs_1_1_sequential_fitter_1_1_parameter.html">Parameter</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_params</b></td></tr>
<tr class="separator:a4940c220f5a42f57dbf85e46042fac67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a342861a2bf0e29fc421444e6a8fcd8fc"><td class="memItemLeft" align="right" valign="top"><a id="a342861a2bf0e29fc421444e6a8fcd8fc"></a>
<a class="el" href="structpcl_1_1on__nurbs_1_1_nurbs_data_surface.html">NurbsDataSurface</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_data</b></td></tr>
<tr class="separator:a342861a2bf0e29fc421444e6a8fcd8fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0942d1ad190bb3703aa4f43066ce0368"><td class="memItemLeft" align="right" valign="top"><a id="a0942d1ad190bb3703aa4f43066ce0368"></a>
<a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_nurbs</b></td></tr>
<tr class="separator:a0942d1ad190bb3703aa4f43066ce0368"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f036bb6e2c11b564ec5b0023d0998fe"><td class="memItemLeft" align="right" valign="top"><a id="a4f036bb6e2c11b564ec5b0023d0998fe"></a>
<a class="el" href="class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_corners</b> [4]</td></tr>
<tr class="separator:a4f036bb6e2c11b564ec5b0023d0998fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13b87cdfcdef3ced0ca8eeffba7a2332"><td class="memItemLeft" align="right" valign="top"><a id="a13b87cdfcdef3ced0ca8eeffba7a2332"></a>
<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b.html">pcl::PointXYZRGB</a> &gt;::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>m_cloud</b></td></tr>
<tr class="separator:a13b87cdfcdef3ced0ca8eeffba7a2332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf113a210e083605aebc6d495d423ab3"><td class="memItemLeft" align="right" valign="top"><a id="aaf113a210e083605aebc6d495d423ab3"></a>
pcl::PointIndices::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>m_boundary_indices</b></td></tr>
<tr class="separator:aaf113a210e083605aebc6d495d423ab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90c68429975e0aaa636684919e5b4cda"><td class="memItemLeft" align="right" valign="top"><a id="a90c68429975e0aaa636684919e5b4cda"></a>
pcl::PointIndices::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>m_interior_indices</b></td></tr>
<tr class="separator:a90c68429975e0aaa636684919e5b4cda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a968fd38383db37d77636146f3ae33ea3"><td class="memItemLeft" align="right" valign="top"><a id="a968fd38383db37d77636146f3ae33ea3"></a>
Eigen::Matrix4d&#160;</td><td class="memItemRight" valign="bottom"><b>m_intrinsic</b></td></tr>
<tr class="separator:a968fd38383db37d77636146f3ae33ea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cf1176ef90251b257d9b3c2d7f98831"><td class="memItemLeft" align="right" valign="top"><a id="a1cf1176ef90251b257d9b3c2d7f98831"></a>
Eigen::Matrix4d&#160;</td><td class="memItemRight" valign="bottom"><b>m_extrinsic</b></td></tr>
<tr class="separator:a1cf1176ef90251b257d9b3c2d7f98831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc29877676a7e7e08cb6bdbe41d878ac"><td class="memItemLeft" align="right" valign="top"><a id="afc29877676a7e7e08cb6bdbe41d878ac"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_have_cloud</b></td></tr>
<tr class="separator:afc29877676a7e7e08cb6bdbe41d878ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9caef604d8b9f605060eb0136d387862"><td class="memItemLeft" align="right" valign="top"><a id="a9caef604d8b9f605060eb0136d387862"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_have_corners</b></td></tr>
<tr class="separator:a9caef604d8b9f605060eb0136d387862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca32032401aacb2fae913b5aef037357"><td class="memItemLeft" align="right" valign="top"><a id="aca32032401aacb2fae913b5aef037357"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>m_surf_id</b></td></tr>
<tr class="separator:aca32032401aacb2fae913b5aef037357"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">成员函数说明</h2>
<a id="a822b8645e35c35d7825674b3abf21e62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a822b8645e35c35d7825674b3abf21e62">&#9670;&nbsp;</a></span>getClosestPointOnNurbs()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void pcl::on_nurbs::SequentialFitter::getClosestPointOnNurbs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_o_n___nurbs_surface.html">ON_NurbsSurface</a>&#160;</td>
          <td class="paramname"><em>nurbs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Eigen::Vector3d &amp;&#160;</td>
          <td class="paramname"><em>pt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eigen::Vector2d &amp;&#160;</td>
          <td class="paramname"><em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxSteps</em> = <code>100</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>accuracy</em> = <code>1e-4</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the closest point on a NURBS from a point pt in parameter space </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nurbs</td><td>The NURBS surface </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pt</td><td>A point in 3D from which the closest point is calculated </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">params</td><td>The closest point on the NURBS in parameter space </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">maxSteps</td><td>Maximum iteration steps </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">accuracy</td><td>Accuracy below which the iterations stop </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6e85e7d3c4e5cddc8621f54d6e3a7733"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e85e7d3c4e5cddc8621f54d6e3a7733">&#9670;&nbsp;</a></span>setProjectionMatrix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::on_nurbs::SequentialFitter::setProjectionMatrix </td>
          <td>(</td>
          <td class="paramtype">const Eigen::Matrix4d &amp;&#160;</td>
          <td class="paramname"><em>intrinsic</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Eigen::Matrix4d &amp;&#160;</td>
          <td class="paramname"><em>extrinsic</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set camera- and world matrices, for projection and back-face detection </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">intrinsic</td><td>The camera projection matrix. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">intrinsic</td><td>The world matrix. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>surface/include/pcl/surface/on_nurbs/<a class="el" href="sequential__fitter_8h_source.html">sequential_fitter.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><b>on_nurbs</b></li><li class="navelem"><a class="el" href="classpcl_1_1on__nurbs_1_1_sequential_fitter.html">SequentialFitter</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
